home *** CD-ROM | disk | FTP | other *** search
/ Sun Solutions 2000 #2 / Sun Solutions CD (Volume 2 2000)(Special Focus - Java Technologies)(Disc 1).ISO / products / bin / java2 / Solaris_2 / bin / policytool < prev    next >
Text File  |  2000-01-05  |  3KB  |  121 lines

  1. #!/bin/ksh -p
  2.  
  3. #
  4. # @(#)java_wrapper.sh    1.50 98/09/15
  5. #
  6. # Copyright 1994-1998 by Sun Microsystems, Inc.,
  7. # 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
  8. # All rights reserved.
  9. #
  10. # This software is the confidential and proprietary information
  11. # of Sun Microsystems, Inc. ("Confidential Information").  You
  12. # shall not disclose such Confidential Information and shall use
  13. # it only in accordance with the terms of the license agreement
  14. # you entered into with Sun.
  15. #
  16.  
  17. #===================================================================
  18. # THIS SCRIPT AND JAVA WILL NOT RUN UNDER SUNOS4.X, AKA SOLARIS 1.X.  
  19. #===================================================================
  20.  
  21. PRG=`whence $0` >/dev/null 2>&1
  22. progname=`/usr/bin/basename $0`
  23. proc=`/usr/bin/uname -p`
  24. APPHOME=`/usr/bin/dirname "$PRG"`/..
  25.  
  26. # Resolve symlinks. See 4152645.
  27. while [ -h "$PRG" ]; do
  28.     ls=`/usr/bin/ls -ld "$PRG"`
  29.     link=`/usr/bin/expr "$ls" : '^.*-> \(.*\)$'`
  30.     if /usr/bin/expr "$link" : '^/' > /dev/null; then
  31.     prg="$link"
  32.     else
  33.     prg="`/usr/bin/dirname $PRG`/$link"
  34.     fi
  35.     PRG=`whence "$prg"` > /dev/null 2>&1
  36.     APPHOME=`/usr/bin/dirname "$PRG"`/..
  37. done
  38.  
  39. JREHOME=$APPHOME/jre
  40.  
  41. # Where is JRE?
  42. unset jre
  43. if [ -f "${JREHOME}/lib/${proc}/libjava.so" ]; then
  44.     jre="${JREHOME}"
  45. fi
  46. if [ -f "${APPHOME}/lib/${proc}/libjava.so" ]; then
  47.     jre="${APPHOME}"
  48. fi
  49. if [ "x${jre}" = "x" ]; then
  50.     echo "Error: can't find libjava.so."
  51.     exit 1
  52. fi
  53.  
  54. # Select vm type (if classic vm, also select thread type).
  55. unset vmtype
  56. unset ttype
  57. DEFAULT_THREADS_FLAGS=green
  58. if [ "x$1" = "x-hotspot" ]; then
  59.     vmtype=hotspot
  60.     ttype=native_threads
  61.     shift 1
  62. else
  63.     if [ "x$1" = "x-classic" ]; then
  64.     vmtype=classic
  65.     ttype=${DEFAULT_THREADS_FLAGS}_threads
  66.     shift 1
  67.     else
  68.     if [ "x$1" = "x-green" ]; then
  69.         vmtype=classic
  70.         ttype=green_threads
  71.         shift 1
  72.     else
  73.         if [ "x$1" = "x-native" ]; then
  74.         vmtype=classic
  75.         ttype=native_threads
  76.         shift 1
  77.         else 
  78.         if [ -d ${jre}/lib/${proc}/hotspot ]; then
  79.             vmtype=hotspot
  80.             ttype=native_threads
  81.         else
  82.             vmtype=classic
  83.             if [[ ${THREADS_FLAG:-${DEFAULT_THREADS_FLAG}} = native ]]
  84.             then 
  85.             ttype=native_threads
  86.             else
  87.             ttype=green_threads
  88.             fi
  89.         fi
  90.         fi
  91.     fi
  92.     fi
  93. fi
  94.  
  95. # Special handling for classic VM.
  96. if [ "${vmtype}" = "classic" ]; then
  97.     # fix for bug 4032715
  98.     if [[ ${ttype} = green_threads ]] ; then 
  99.     LD_BIND_NOW=yes
  100.     export LD_BIND_NOW
  101.     fi
  102.     # For internal use by classic VM.
  103.     _JVM_THREADS_TYPE="${ttype}"
  104.     export _JVM_THREADS_TYPE
  105. fi
  106.  
  107. # Set LD_LIBRARY_PATH for hotspot VM.
  108. LD_LIBRARY_PATH="${jre}/lib/${proc}/${ttype}:${jre}/lib/${proc}/${vmtype}:${jre}/lib/${proc}:$LD_LIBRARY_PATH"
  109. export LD_LIBRARY_PATH
  110.  
  111. prog="$APPHOME/bin/${proc}/${ttype}/${progname}"
  112.  
  113. # Run.
  114. if [ -x "$prog" ]
  115. then
  116.     exec $DEBUG_PROG "$prog" "$@"
  117. else
  118.     echo >&2 "$progname was not found in ${prog}"
  119.     exit 1
  120. fi
  121.